﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using BLL.IServiceImplementation;
using DAL;
using DAL.DataSourceInterface;
using BLL.DTO.Ciudad;
using BLL.Mappers;

namespace BLL.ServiceImplementation
{
    public class CiudadSvcImpl : ICiudadSvc
    {
        //Se instancia la interfaz de DAO
        private readonly ICiudadDAO getCiudadDAO;

        public CiudadSvcImpl()
        {
            //Acceso a la implementación del DAO por medio del dataaccess
            getCiudadDAO = DataAccess.GetCiudadDAO;
        }

        //Implementación de la interfaz
        public List<CiudadDTO> GetAll()
        {
            var listCiudad = getCiudadDAO.GetAll();
            List<CiudadDTO> listCiudadDTO = CiudadMappers.toDto(listCiudad);
            return listCiudadDTO;
        }

        public List<CiudadDTO> GetAllByIdCity(int pk_Ciudad)
        {
            var listCiudad = getCiudadDAO.GetAllByIdCity(pk_Ciudad);
            List<CiudadDTO> listCiudadDTO = CiudadMappers.toDto(listCiudad);
            return listCiudadDTO;
        }

        public List<CiudadDTO> GetAllByIdRegion(int fk_Region)
        {
            var listCiudad = getCiudadDAO.GetAllByIdRegion(fk_Region);
            List<CiudadDTO> listCiudadDTO = CiudadMappers.toDto(listCiudad);
            return listCiudadDTO;
        }
    }
}
